home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er Special 20
/
64er_Magazin_Sonderheft_20_19xx_Markt__Technik_de_Side_A.d64
/
listing 12
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
1KB
|
41 lines
10 rem * sprite beispiel 1 *
20 rem der heissluftballon
30 vic=13*4096:rem hier beginnen die vic-register
35 poke vic+21,1:rem einschalten sprite 0
36 poke vic+33,14:rem hintergrundfarbe hellblau
37 poke vic+23,1:rem sprite 0 in y verdoppeln
38 poke vic+29,1:rem und in x
40 poke 2040,192:rem spritezeiger 0 auf block 192
180 poke vic,100:rem x-position sprite 0
190 poke vic+1,100:rem und y-position
220 poke vic+39,1:rem farbe sprite 0
250 for y=0 to 63
300 read a:rem spritedaten lesen
310 poke 192*64+y,a:rem und eintragen
320 next y
330 dx=1:dy=1
340 x=peek(vic):rem x-position pruefen
350 y=peek(vic+1):rem y-position testen
360 if y=50 or y=200 then dy=-dy:rem bei randposition dy umkehren
380 if x=24 and (peek(vic+16)and 1)=0 then dx=-dx:rem wenn sprite
390 rem am linken rand (x<24 und msb=0) dann dx umkehren
400 if x=40 and (peek(vic+16)and 1)=1 then dx=-dx:rem wenn sprite
410 rem am rechten rand (x=40 und msb=1) dann dx umdrehen
420 if x=255 and dx=1 then x=-1:side=1
430 rem umschalten auf andere bildschirmseite
440 if x=0 and dx=-1 then x=256:side=0
450 rem umschalten auf andere bildschirmseite
460 x=x+dx:rem addieren von dx zu x
470 x=x and 255:rem sicherstellen dass x im erlaubten bereich
480 y=y+dy
485 poke vic+16,side
490 poke vic,x:rem neue x-position sprite 0
510 poke vic+1,y:rem neuer y-wert
530 goto 340
600 rem ***** sprite daten *****
610 data 0,127,0,1,255,192,3,255,224,3,231,224
620 data 7,217,240,7,223,240,7,217,240,3,231,224
630 data 3,255,224,3,255,224,2,255,160,1,127,64
640 data 1,62,64,0,156,128,0,156,128,0,73,0,0,73,0
650 data 0,62,0,0,62,0,0,62,0,0,28,0,0